パソコン活用研究PCマニアックの道(アセンブラ、DOS、Windows、旧型PCの活用研究)
アトムとリスト
Lispは他のプログラム言語とはまったく様子が違っています。データ形式、プログラムの書式が
きわめて独特で、Lispを学ぶに当たってまずアトムとリストにつて知っておく必要があります。
1 アトム
アトムとはプログラム言語としては、聞きなれない用語ですが、Basicなどで言うところの
変数、数値(定数)、文字列にあたるものの総称です。
文字列はLispでも「"」でくくります。変数は必ず英文字で始まります。
123 ・・・数値 X ・・・変数 Y ・・・変数 "TOKYO" ・・・文字列 |
2 リスト
以下のように、( )に要素を並べたものをリストと呼びます。
(a1 a2 a3 ..... a10)
要素はアトムでもリストでも構いません。要素と要素の間は空白で区切ります。
(1 2 3) (1 2 (3 4) 5) (TOKYO (100 200)) |
要素と要素の間を「,」で区切ってしまう間違いをよくやります(他のプログラム言語になれている人など)が、
(a, b, c)
と記述してしまうとリストとして認識されませんので要注意です。
リストは、要素の順番まで一致している時に同じリストと判断されます。従って
(1 2 3 4) (1 2 3 4)
は同じですが
(1 2 3 4) (1 3 2 4)
は違うリストとして認識されます。
3 関数
Lispではリストの要素の一番左が、関数とみなされます。
例えば、(f x y)
というリストがあると、fが関数で、x,yはその関数の引数とみなされます。
Lispでは足し算には+ (plusという関数を使うLispもある)を使いますが、
1 + 2 は
(+ 1 2) のように記述します。
左端の+が関数とみなされ、そのあとの数値がその関数の引数とみなされます。
以下xLispで足し算、引き算をした場合の例を掲載しておきます。
XLISP-PLUS version 3.04 Portions Copyright (c) 1988, by David Betz. Modified by Thomas Almy and others. > (+ 4 5) 9 > (+ 1 (+ 2 3)) 6 > (- 10 5) 5 > |
以上、慣れるまでなんとなく抵抗感があると思いますが、難しいことは何もありませんので、
ともかく自分でいろいろコードを打ち込んで試して見てください。